<?php
namespace hema\delivery\engine;

/**
 * 引擎抽象类
 */
abstract class Basics
{
    protected $config;// 配置参数
    protected $order;// 订单信息
    protected $data;// 其它数据

    // 错误信息
    protected $error;

    /**
     * 构造函数
     */
    public function __construct($config, $order)
    {
        $this->config = $config;
        $this->order = $order;
    }

    /**
     * 预发布订单
     */
    abstract protected function preOrder();

    /**
     * 添加订单
     */
    abstract protected function addOrder($data = []);

    /**
     * 取消订单
     */
    abstract protected function cancelOrder($order_no = '');


    /**
     * 返回错误信息
     */
    public function getError(): string
    {
        return $this->error;
    }

}
